let timer: number;

// 使用 import.meta.hot.data 可以用来存储一些状态数据，
// 这样当模块进行更新时，可以恢复到上一次的页面状态
function getCount() {
  if (!import.meta.hot?.data.count) {
    import.meta.hot!.data.count = 0;
  }

  return import.meta.hot!.data.count++ as number;
}

export function initState() {
  timer = window.setInterval(() => {
    let countEle = document.getElementById('count');
    countEle!.innerText = getCount() + '';
  }, 1000);
}

// 当前模块内容更新、销毁时，可以使用 dispose 进行处理
if (import.meta.hot) {
  import.meta.hot.dispose(() => {
    window.clearInterval(timer);
  });
}
